// pages/home/home.js

const {
    formatTime
} = require("../../utils/time")

// const moment = require("../../utils/moment")
var app = getApp()
Page({

    /**
     * 页面的初始数据
     */
    data: {
        cardCur: 0,
        swiperList: [{
            id: 0,
            type: 'image',
            url: 'cloud://cloud1-3gwgwntc19418eac.636c-cloud1-3gwgwntc19418eac-1312065174/images/swiper/swiper3.jpeg'
        }, {
            id: 1,
            type: 'image',
            url: 'cloud://cloud1-3gwgwntc19418eac.636c-cloud1-3gwgwntc19418eac-1312065174/images/swiper/swiper5.jpeg',
        }, {
            id: 2,
            type: 'image',
            url: 'cloud://cloud1-3gwgwntc19418eac.636c-cloud1-3gwgwntc19418eac-1312065174/images/swiper/swiper6.jpeg'
        }],
        notice: "dsfvdf",
        // 通知活动的_id
        id: '',
        //页码
        pageNum: 1,
        // 活动list
        activityList: [],
        city: '',
        location: null
    },
    toSearch() {
        wx.navigateTo({
            url: "../Search/search"
        })
    },
    cardSwiper(e) {
        this.setData({
            cardCur: e.detail.current
        })
    },
    cardSwiper(e) {
        this.setData({
            cardCur: e.detail.current
        })
    },
    seeMore() {
        console.log('跳转')
        wx.switchTab({
            url: '../eventPage/index',
        })
    },
    gotoNotice(event) {
        wx.navigateTo({
            url: `../eventPageDetails/index?articleid=${event.currentTarget.dataset.id}`
        })
    },
    // 获取通知公告 最新发布的活动
    getNotice() {
        const db = wx.cloud.database()
        db.collection('activity').get()
            .then(res => {
                var data = res.data[res.data.length - 1];
                this.setData({
                    notice: data['name'] + '发布了活动：' + data['title'],
                    id: data['_id']
                });
            })


    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.log("进入home的数据有", options)
        console.log('formdate',formatTime(new Date()))
        var that = this

        // 调用云函数updateStatus
        wx.cloud.callFunction({
            name: 'volunteer',
            data: {
                type: 'updateStatus',
                date: formatTime(new Date())
            }
        }).then((resp) => {
            console.log('调取updateStatus云函数成功')
        }).catch((e) => {
            console.log('调取updateStatus云函数失败')
            console.log(e);
        });



        // 登录成功获取所有活动
        wx.cloud.callFunction({
            name: 'volunteer',
            data: {
                type: 'getAllActivity',
                pageNum: that.data.activityList.length
            }
        }).then((resp) => {
            console.log('获取的数据', resp.result.data)
            app.globalData.activityList = resp.result.data
            that.setData({
                activityList: resp.result.data,
                pageNum: that.data.activityList.length
            })
            wx.hideLoading();
        }).catch((e) => {
            console.log('出错了', e);
            wx.hideLoading();
        });
        // 读取所有活动，更改状态
        this.changeStatus();
        // 获取通知公告
        this.getNotice();

    },
    changeStatus() {
        // let date = new Date().toISOString().substring(0, 10)
        let date = formatTime(new Date())

        console.log("date", date)
    },
    // 选择位置
    onChooseLocation() {
        wx.chooseLocation({
            success: (res) => {
                // console.log(res.address)
                let address = res.address
                // console.log('市',address.slice(address.indexOf('省') + 1,address.indexOf('市')))
                let city = address.slice(address.indexOf('省') + 1, address.indexOf('市'))
                this.setData({
                    location: res,
                    city: city
                })
            }
        });
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },
    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {},

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },
    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
        //调用刷新时将执行的方法
        this.onRefresh();
    },
    //刷新
    onRefresh() {
        // //在当前页面显示导航条加载动画
        wx.showNavigationBarLoading();
        //显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框
        // wx.showLoading({
        //   title: '刷新中...',
        // })
        this.getData();
    },
    //网络请求，获取数据
    getData() {
        var that = this
        // 登录成功获取所有活动
        wx.cloud.callFunction({
            name: 'volunteer',
            data: {
                type: 'getAllActivity',
                pageNum: 0
            }
        }).then((resp) => {
            // console.log('获取的数据', resp.result.data)
            app.globalData.activityList = resp.result.data
            that.setData({
                activityList: resp.result.data
            })
            wx.stopPullDownRefresh();
            //   wx.hideLoading();
        }).catch((e) => {
            console.log('出错了', e);
            wx.stopPullDownRefresh();
            //   wx.hideLoading();
        });

    },

    gotoArticleDetail: function (event) {
        // 当前要跳转到另一个界面，但是会保留现有界面
        console.log('跳转到xxx页面', event)
        wx.navigateTo({
            url: `../eventPageDetails/index?articleid=${event.currentTarget.dataset.articleid}`
        })
    },
    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {
        var that = this
        // console.log('上拉触底了')
        wx.showLoading({
            title: '加载中...',
        })
        //成功回调函数，具体需要根据业务需求设计分支结构，此处省略
        wx.cloud.callFunction({
            name: 'volunteer',
            data: {
                type: 'getAllActivity',
                pageNum: that.data.activityList.length
            }
        }).then((resp) => {
            // console.log('获取的数据', resp.result.data)
            //获取原始列表
            let activityList = that.data.activityList;
            //获取新列表
            let arr = resp.result.data;
            //新列表数据与原列表数据合并
            let newArr = activityList.concat(arr);
            this.setData({
                activityList: newArr,
            })
            app.globalData.activityList = newArr
            wx.hideLoading();
        }).catch((e) => {
            console.log('出错了', e);
            wx.hideLoading();
        });


    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    },
    // // 监听页面滚动
    // onPageScroll: function (e) { // 页面滚动监听
    //     console.log('滚动距离', e.scrollTop)
    // }
})